package cn.tedu.ivoscm.application.pojo.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class Application {
    // 持久属性（源自数据库）
    @ApiModelProperty(value = "申请ID")
    private Long id;
    @ApiModelProperty(value = "申请人ID")
    private Long userId;
    @ApiModelProperty(value = "申请人姓名")
    private String username;
    @ApiModelProperty(value = "开始时间")
    private Date startTime;
    @ApiModelProperty(value = "结束时间")
    private Date endTime;
    @ApiModelProperty(value = "图片地址")
    private String imgUrl;
    @ApiModelProperty(value = "出发地")
    private String departureAddr;
    @ApiModelProperty(value = "目的地")
    private String destinationAddr;
    @ApiModelProperty(value = "申请原因")
    private String reason;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "申请状态")
    private String status;
    @ApiModelProperty(value = "车辆ID")
    private Long vehicleId;
    @ApiModelProperty(value = "驳回申请原因")
    private String rejectReason;
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    // 瞬态属性（按页面需求将数据库持久层数据拼接组合出的数据，并非直接来自数据库）
    @ApiModelProperty(value = "审核人ID集合")
    private List<Long> auditUserIdList;  // [106, 103]
    @ApiModelProperty(value = "审核人姓名字符串")
    private String auditUserNameList;  // "moly, tom"
}
